package com.base.cn.platform.os.entity.agent.user;

import com.base.cn.platform.os.common.mybatis.BaseEntity;
import com.base.cn.platform.os.entity.agent.income.AgentIncome;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Map;

/**
 * 推广员Entity
 *
 * @author LIZHIPENG
 * @since 2018/5/7
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class AgentUser extends BaseEntity {

    /**推广员名称*/
    private String agentUserName;
    /**手机号码*/
    private String mobile;
    /**前台用户ID*/
    private BigDecimal userId;
    /**推广员类型：1.一级推广员，2.二级推广员*/
    private Integer userType;
    /**分成类型：1.固定分成比例（目前只有一种类型）*/
    private Integer divideType;
    /**一级推广员分成比例*/
    private Integer oneScale;
    /**二级推广员分成比例*/
    private Integer twoScale;
    /**奖金分成比例*/
    private Integer bonusScale;
    /**结算类型：1.随时结，2.月结，3.年结*/
    private Integer settType;
    /**创建来源：1.后台创建（代创建），2.前台申请（自申请）*/
    private Integer createFrom;
    /**上级推广员ID*/
    private BigDecimal parentId;
    /**推广员的客户数量*/
    private Integer customerNum;
    /**下级推广员数量：限一级推广员使用*/
    private Integer sunNum;
    /**驳回原因*/
    private String rejectedCause;

    //================= 扩展数据 =================
    /**关联的前台用户信息*/
    private Map<String, Object> userMap;
    /**总收益信息*/
    private AgentIncome agentIncome;
    /**上级推广员*/
    private AgentUser parentAgentUser;
    /**是否允许邀请好友成为推广员*/
    private Boolean invite;
    /**是否可以结算*/
    private Boolean hasSettlement;
    /**当不可结算时，剩余天数*/
    private Integer days;

    //================= 查询条件 =================
    /**查询条件*/
    private String ids;
    /**查询数量*/
    private Integer count;
    /**开始时间*/
    private String beginTime;
    /**结束时间*/
    private String endTime;
}
